iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
0

以混淆矩陣協助達成包容性機器學習

在前往包容性機器學習的路上,有個重要的途徑便是從我們已經訓練好的機器學習模型當中,找出模型上目前還做得不夠好的地方,也可以說是給出錯誤預測之處,那在這邊有什麼方法可以達成我們的需求呢? 對於分類問題來說,比起簡單的數值指標,比如說準確率(Accuracy)等,其提供的資訊可能還不夠全面,因此,這邊提供一個在分類問題上經常使用的工具,混淆矩陣(Confusion Matrix)

在此我們先以二元分類問題為例,也就是預測目標為0(Negative)或1(Positive)的機器學習問題,此種機器學習問題是相當常見的,比如說信用卡的詐欺交易預測以及用戶離網預測等,來和各位說明混淆矩陣的意義與如何使用。混淆矩陣為一將機器學習問題中的預測結果之Positive與Negative結果以及真實情況之Positive與Negative結果,對應至一個2X2矩陣的直行與橫列上,並且將四種情況的數量進行統計後填入矩陣中的對應位置(見圖1)。而這四種情況又有其對應的名稱,介紹如下(格式為"(真實情況, 預測值): 對應名稱"):

  • (Positive, Positive): True Positive (TP)
  • (Positive, Negative): False Negative (FN)
  • (Negative, Negative): True Negative (TN)
  • (Negative, Positive): False Positive (FP)

在此基礎上,就可以計算出非常多種指標值,以各種角度來衡量機器學習模型,如我們所熟悉的準確率就是由(TP + TN)/(TP + FN + TN + FP)計算出來的。如果我們想要更精細地來衡量模型,可以使用混淆矩陣上的兩種錯誤類型來判斷,分別是FN與FP,FN代表的是模型認為某些資料屬於Negative,但是其真實情況卻是Positive,比如說模型將某些應為詐欺的交易誤認為正常交易,予以放行,而FP代表的是模型認為某些資料屬於Positive,但是其真實情況卻是Negative,比如說模型將某些應為正常的交易誤認為詐欺交易,導致交易無法完成,通常這兩種情況會有個Trade-off要進行權衡,假設我們發現目前模型的FN太高,因此決定調降判斷的門檻,將更多交易判斷為詐欺交易,此舉雖然可以降低FN,但同時也有可能提高FP,將更多正常的交易誤判成詐欺交易。

在實務使用上,我們必須確實且仔細地考慮我們的商業情境,比如說是否FN過高會致使偏見的問題顯現,無法達成包容性機器學習,來修正並優化我們的機器學習模型,以讓更多的使用者能夠因此受惠。而在混淆矩陣上,還可以透過計算各種比例值作為指標,以提供更精確的判斷(註1)。

https://ithelp.ithome.com.tw/upload/images/20190928/20120261bcANw5xIgE.png
圖1
Source: Coursera - How Google does Machine Learning

註1: https://en.wikipedia.org/wiki/Confusion_matrix


上一篇
Day 11 - How Google does Machine Learning (10)
下一篇
Day 13 - How Google does Machine Learning (12)
系列文
Understanding and Applying Machine Learning with Google Cloud Platform30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言